From 6103618b6ff1a1d56ffefc5fdfd494eed062aa0f Mon Sep 17 00:00:00 2001 From: =?utf8?q?Florian=20M=C3=BCllner?= Date: Fri, 28 Nov 2025 01:43:33 +0100 Subject: [PATCH] layout: Resolve immediately after loading the background We currently resolve the promise in a low-priority idle handler after the background was loaded, so that the system can settle down after the initial load before doing the animation. Promises are already resolved on the main loop (albeit with a high priority), so hopefully the explicit idle source isn't necessary anymore. Part-of: --- js/ui/layout.js | 13 +------------ 1 file changed, 1 insertion(+), 12 deletions(-) diff --git a/js/ui/layout.js b/js/ui/layout.js index 4fd23fe32..5a09ea797 100644 --- a/js/ui/layout.js +++ b/js/ui/layout.js @@ -681,18 +681,7 @@ export const LayoutManager = GObject.registerClass({ const {promise, resolve} = Promise.withResolvers(); const signalId = this._systemBackground.connect('loaded', () => { this._systemBackground.disconnect(signalId); - - // We're mostly prepared for the startup animation - // now, but since a lot is going on asynchronously - // during startup, let's defer the startup animation - // until the event loop is uncontended and idle. - // This helps to prevent us from running the animation - // when the system is bogged down - const id = GLib.idle_add(GLib.PRIORITY_LOW, () => { - resolve(); - return GLib.SOURCE_REMOVE; - }); - GLib.Source.set_name_by_id(id, '[gnome-shell] Startup Animation'); + resolve(); }); await promise; -- 2.39.5